#include<stdio.h>
double get_and_put_grades(int arr[],int m){
    int max=0;
    int min=10;
    int sum=0;
    for(int i=0;i<m;i++){
        if(arr[i]>max){
            max=arr[i];
        }
        if(arr[i]<min){
            min=arr[i];
        }
        sum+=arr[i];
    }
    return (double)(sum - max - min) / (m - 2);
}
int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    int arr[150][30]={0};
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            scanf("%d",&arr[i][j]);
        }
    }
    double max=0;
    for(int i=0;i<n;i++){
        if(get_and_put_grades(arr[i],m)>max){
            max=get_and_put_grades(arr[i],m);
        }
    }
    printf("%.2lf",max);
}